/*
 *  ES2015 binary literal
 */

/*===
5
109
4294967296
98760891614023530000
SyntaxError
SyntaxError
1.2030698760306253e+308
Infinity
255
===*/

function test() {
    function f(x) {
        try {
            print(eval(x));
        } catch (e) {
            print(e.name);
        }
    }

    f('0b101');
    f('0b01101101');
    f('0b100000000000000000000000000000000');
    f('0b1010101101010010101001010111010101001010010101110100100010110101011');
    f('0b10101011010100101010010101110101010010100101011101001000101101010112');
    f('0b10101011010100101010010101110101010010100101011101001000101101201011');
    f('0b1010101101010010101001010111010101001010010101110100100010110101011110101001101001101101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011101010111010101011101011110100101011010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111101010010101010111010110101010101101011101010101011010110101110101010101010101101011010110110111101100011010110');
    f('0b10101011010100101010010101110101010010100101011101001000101101010111101010011010011011010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010111010101110101010111010111101001010110101011101010101110101111010010101110101011101010101110101111010010101110101011101010101110101111010010101111010100101010101110101101010101011010111010101010110101101011101010101010101011010110101101101111011000110101101');

    // Also allowed in strict mode.
    f('(function () { "use strict"; return 0b11111111; })()');
}

try {
    test();
} catch (e) {
    print(e.stack || e);
}
